package com.study.springstudy;

import com.study.springstudy.dao.MyDao;
import com.study.springstudy.service.MyService;
import org.springframework.beans.factory.FactoryBean;

/**
 *
 * open-feign 就是 实现了 FactoryBean
 *
 * FactoryBean 是一种特殊的定制化Bean 即 可以用来做一些其他增强操作
 * 在BeanFactory （工厂） 创建bean的时候 会判断该类是 BeanFactory 还是FactoryBean
 * 自定义 FactoryBean 来实现自己想要的功能
 *
 */
public class MyFactoryBean implements FactoryBean {
    @Override
    public Object getObject() throws Exception {
        MyService myService = new MyService();
        System.out.println("test MyFactoryBean");;
        return myService;
    }

    @Override
    public Class<?> getObjectType() {
        return MyService.class;
    }

    @Override
    public boolean isSingleton() {
        return FactoryBean.super.isSingleton();
    }
}
